home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Network / Assimilator-100.sit / Assimilator-100 / Documentation < prev    next >
Text File  |  1995-03-01  |  17KB  |  146 lines

  1. Assimilator 1.0.0 ©1994 Peter N Lewis
  2. This is Shareware.  You must pay for it using the Register program if you use it.
  3.  
  4. Concept
  5.  
  6. WARNING: This program is designed to scramble harddisks!  Read the documentation before using it or you may regret it!
  7.  
  8. Assimilator is designed for Macintosh lab situations where you want to make all the harddisk’s in a lab look (more or less) identical.  When the Assimilator program is run on a lab Macintosh it will mount an AppleShare file server and then make the harddisk look more or less exactly like a pre-specified source folder on the server.  It does this by throwing away (into the Trash) any files or folders that don’t belong or are different and downloading any missing files.  Icon positions, folder views, finder flags and so forth are all corrected on the client Macintosh to match the source folder.
  9.  
  10. Although it is designed for student lab situations, it might also be useful in other circumstances, such as for setting up newly purchased Macs or in testing or demo labs.  
  11.  
  12. Assimilator makes no attempt to secure its files from malicious users.  If you have malicious users, then you will need to take additional steps to protect your system, including installing additional software like Lab Master and making your system folder invisible and so forth.
  13.  
  14. Possible future directions might include synchronizing folders on different machines or maintaining staff System Folder and/or Application folders, but for now Assimilator is not suitable for such purposes.
  15.  
  16. Assimilator requires System 7 and a harddisk.
  17.  
  18. Implementation
  19.  
  20. The first step is to create a folder that you want your lab harddisk to look like.  An easy way to do this is to set up a lab harddisk the way you want it and then copy the harddisk to a folder on a AppleShare server.  Make any aliases on the server after you have copied the harddisk to the server.  Assimilator looks for aliases on the source folder that point in to the source folder and corrects them for the local lab Macintosh.  If you make the aliases on the initial lab Macintosh, you may find that the aliases will fail to work on all the other lab Macs.
  21.  
  22. Now mount the File Server as it will be mounted on the lab clients (this should be using a relatively insecure account, so make sure it has minimal privileges, definitely read-only), run the Assimilator Admin program and it will create a new Assimilator program document.  Select the source folder, type in the AppleShare username and password (passwords are scrambled, but not encrypted) (use blank username and password for guest access).  The abort password is used when the user presses cmd-. or clicks the Stop button during assimilation, if they don’t type in the abort password, the process will continue.  The minimum free space (in Meg) is how much disk space Assimilator will ensure is available (if possible) after it is finished (by emptying all or part of the trash).  The minimum rerun time is the minimum time between runs of Assimilator.  
  23.  
  24. WARNING: If you make the minimum rerun time less than the time it takes the client Macintosh to reboot and you make is launch on startup, then Assimilator may cause the Macintosh to reboot continuously.  If the control key is down when Assimilator is launched, it will ignore the rerun time and proceed with the Assimilation.
  25.  
  26. Select what kind of target you want.  Assimilator Admin can save your settings into a standard document, but that’s not much use in general.  Basically, you can choose between creating a standard application (which you can launch in the normal ways, either manually or using Cron or the like, or via the Startup or Shutdown Items folder on the lab Macintosh), or you can create a System Extension (aka INIT) that will launch Assimilator at startup time or shutdown time (this is useful if you make the System, Startup Items or Shutdown Items invisible since that disables the normal action of the Startup/Shutdown Items folders.
  27.  
  28. Since you often can’t actually have all the Macintoshes identical (they may need different machine names, IP numbers, volume names, and owner names), Assimilator lets you specify some information that is configured in to each lab Macintosh.  You can do this in one of two ways, either click the Edit Database button and enter the information manually, or save this document and put it and the Assimilator Admin application on a floppy disk and take it to each lab macintosh in turn.  Hold the control key down and double click Assimilator Admin, it will show you the entry for this macintosh, let you edit it, and then append it to the database.  You may want to install the Assimilator application or init at this time as well, simply copy it in to the lab macintosh’s System Folder.  When you have finished doing all the mac’s, copy the final assimilator application/init in to it’s correct location in the source folder on the file server, then reboot all your lab Macs and ensure that they are correct.
  29.  
  30. WARNING: Running the resulting Assimilator application will make a valiant attempt to turn the harddisk into an identical copy of the source folder.  DO NOT run this program on a Macintosh you care about.
  31.  
  32. Check the log file on one or more of the lab machines  (the log file is in the Assimilator folder in the trash (no where else is safe :-)) and make sure everything looks ok.  You may need to mark some files as “Hot” so they aren’t downloaded if they are modified slightly (eg the System, Finder, U&G Data File, MacTCP, MacTCP Prep, etc).
  33.  
  34. That’s pretty much it.
  35.  
  36. Customisation & Labels
  37.  
  38. Assimilator has been intentionally kept simple to configure.  Most of the configuration takes place in the Finder.  Assimilator uses the Finder labels to determine what to do with each source file or folder.
  39.  
  40. In general you can get away with labelling all of the source folder as “None” and marking a few that download too frequently as “Hot”.
  41.  
  42. The actions are:
  43.  
  44. Never Download - The file/folder is never downloaded.  If a file/folder exists on the client Mac, that’s fine.  If it doesn’t, that’s fine to.  If the source is a folder and the client has a file or vice-versa, that’s fine.  Assimilator will never download the file or trouble and existing file/folder (or it’s contents) on the lab Macintosh.  
  45.  
  46. Download if Missing - The file/folder is downloaded only if it is missing from the lab Macintosh (if there is a folder in the source and a file on the lab Macintosh (or vice-versa) that counts as missing and the lab file/folder will be trashed and replaced with the source folder/file).
  47.  
  48. Download if Different - The file/folder is downloaded if it is different (resource or data fork size, file type or creator, folder/file mismatch) from the source.
  49.  
  50. Download if Modified - The file/folder is downloaded if it is different or if the modified date of the file is different from that of the lab Macintosh.
  51.  
  52. Download Always - The file/folder is always downloaded.
  53.  
  54. The reason there is “Download if Different” and “Download if Modified” is that the latter is the default action, but some files have their modification times changed every time you  restart the Macintosh, so you can specify these files as being the former and avoid them being downloaded every time.
  55.  
  56. For folders, Assimilator will make the contents identical to the source folder unless the source folder is marked as Never Download.  In all other cases, Assimilator will compare the contents of folders on the source and the lab Macintosh.  With the exception of marking a folder as Never Download, the folder’s label has no effect on the contents (so for folders, Download if Missing and Download Always are the same).
  57.  
  58. You choose the action for a file/folder by assigning is a Finder Label.  The label maps to one of the above actions as well as a flag to say whether the file/folder on the server should be made invisible (so you don’t have to mess with invisible files on your server).  The defaults are:
  59.  
  60. None - Download if Modified (default)
  61. Essential - Always Download
  62. Hot - Download if Different (the file is “hot” like the System file)
  63. In Progress - Download if Missing (work in progress on the lab Macintosh)
  64. Cool - Never Download (whatever is there is cool)
  65. Personal - Download if Modified and mark invisible (default but invisible/private)
  66. Project 1 - Always Download and mark invisible
  67. Project 2 - Download if Different and mark invisible
  68.  
  69. You probably won’t need to change any of the default label assignments.  
  70.  
  71. Also, Assimilator provides for mapping “•Desktop Folder•” to the Desktop Folder on the lab Macintosh (since the Finder will not allow you to name folders “Desktop Folder”), and deals with automatically ignoring the desktop database and other similar files which are never downloaded.
  72.  
  73. Tips, Caveats & Notes
  74.  
  75. Rebuilding the Desktop - WARNING: It has been reported that quiting the Finder while it is rebuilding the desktop may cause a crash, so if you have Assimilator in the startup items, and you hold down the cmd&option keys to rebuild the desktop, and then Assimilator quits the Finder, you may have a problem.
  76.  
  77. Aliases - Assimilator will redirect aliases in the source folder that point to files in the source folder to point to their corresponding file on the lab Macintosh.  If you set up the source folder by copying a lab harddisk to the server, the aliases may not be correct.  Make sure they resolve properly to the correct file in the source folder.  Obviously, this is problematic with server volumes that don’t deal well with aliases (in particular CAP volumes).
  78.  
  79. Which harddisk? - Assimilator looks for the first volume that is grater than 2 Megabytes, not an AppleShare volume, not hardware locked and not ejectable.  This is the destination volume.  So if you can figure out a way to boot System 7 from a floppy and then run Assimilator, you will be able to use that to assimilate non-booting (or System 6) Macintoshes back into the collective.
  80.  
  81. Force Quit - Assimilator disables System 7’s Force Quit (cmd-option-escape) while it is running.
  82.  
  83. Progress Bar - Unfortunately Assimilator only provides a barber poll progress bar.  it would be nice to provide a proper progress bar, but it would require pre-parsing the entire source folder, and this would be needlessly wasteful in network bandwidth (since all of the lab Macs would be doing this).
  84.  
  85. Zarching the harddisk - If you hold down the control and shift keys when you launch Assimilator, it will first trash all the files and folders on the harddisk and then download everything as per your labels.  You can use this to force a complete rebuild of a suspect system.  If you abort the machine during the download, it may not boot, since the system folder has been trashed.
  86.  
  87. System Folder - Assimilator will bless any folder containing a System file (MACS/zsys).  Make sure you don’t have two such files in your source folder or unpredictable things will happen.
  88.  
  89. Desktop Database - Assimilator tried to ensure that the desktop database is always right by updating it whenever it downloads an application (or any other file with a bundle).
  90.  
  91. Force run - If you hold the control key down when Assimilator launches, it will always update the machine, even if the required rerun time has not elapsed.
  92.  
  93. The MachineID identification is done by putting a file named “<id>” in the preferences folder with file type Asim, creator Asim, and zero length data and resource forks.  Assimilator will preserve these files, so they must match exactly to avoid cunning users putting data in them :-) 
  94.  
  95. Time - file modification times are included in the default test to determine if a file has been modified.  If the time on the server and the Mac are not kept in sync, then Assimilator may erroneously conclude that the files have all been modified.  You should use a utility like LocalTime to keep the all the times on the Macs in sync with the server.
  96.  
  97. Rerun - The rerun time is stored as the Backup date on the Assimilator application.  If you use a backup program that sets this date, Assimilator may run more than required.  Also, if Assimilator itself is downloaded from the server (because you installed a new version for ewxample), then the new version will not have been run, so it will run the next change it gets irrespective of the rerun time setting.  Combining this fact and the above note about times, it is possible that the initial assimilation of your lab may download all the files up to three times before things settle down.
  98.  
  99. Confusion - It is very easy to get confused about which version of Assimilator is running when Assimilator on the lab mac and on the server are not the same.  For this reason you should always make your changes on the server and then just keep rerunning Assimilator on the lab mac (usually by restarting) until things stablize.
  100.  
  101. Power - Assimilator was designed to keep the process as simple as possible.  Even so, it is quite complicated.  There are lots of things you might want to do that Assimilator doesn’t deal with - if you need more power or control, try out RevRDist by Dale Talcott <aeh@cc.purdue.edu>.  It’s free and has tonnes of power (more power than I could ever hope to deal with).  It is on the UMich archives in util/network/.
  102.  
  103. Small Print
  104.  
  105. This program is Shareware, which means if you use it, you should send me US$10 per copy of Assimilator you use.  Please use the accompanying Register program to print out invoices or fill in registration forms and send (Email, Snail-Mail or FAX) it to my US distributor, Kagi Shareware.
  106.  
  107. World-Wide Source Code License: US$5000
  108. World-wide license: US$2000
  109. Universities or companies site license: US$500
  110. Curtin University and the University of Western Australia are exempt.
  111. Single-user license: US$10.
  112.  
  113. NOTE: For single-user licenses, you must purchase one license for each lab Macintosh that you intend to Assimilate regularly.  In general a site license is the appropriate license for this program.
  114.  
  115. You may distribute this program any way you wish as long as you don't charge for it (reasonable download costs are ok).  You must distribute all of the package.  I don’t guarantee any support, but I always answer my Email.  If I don’t answer Email its because your message didn’t get to me, or my reply bounced, so try again and include a valid Internet address if you can.
  116.  
  117. You MAY NOT DISTRIBUTE this program on any disk costing more than $5 or on any CD without my explicit permission.  CD or Magazine permissions generally require that you send me a free copy of the Magazine and/or CD.
  118.  
  119. Warranty
  120.  
  121. This program should do what I’ve described in this document.  If it doesn’t, you can simply stop using it.  If you pay me, and within a year find that it doesn’t do what I describe here, then you can notify me and I will refund your money and cancel your license.  This program is very dangerous to user data.  Do not run the Assimilator program on any Macintosh which contains data you want preserved!
  122.  
  123. Fine Print
  124.  
  125. Peter Lewis hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose.  Peter Lewis will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if Peter Lewis or an agent of his has been advised of the possibility of such damages.  In no event shall Peter Lewis be liable for any damages, regardless of the form of the claim.  The person using the software bears all risk as to the quality and performance of the software.
  126.  
  127. US Government:
  128.         Government End Users:  If you are acquiring the Software and fonts
  129. on behalf of any unit or agency of the United States Government, the
  130. following provisions apply.  The Government agrees:
  131.         (i) if the Software and fonts are supplied to the Department of
  132. Defense (DoD), the Software and fonts are classified as "Commercial
  133. Computer Software" and the Government is acquiring only "restricted rights"
  134. in the Software, its documentation and fonts as that term is defined in
  135. Clause 252.227-7013(c)(1) of the DFARS; and
  136.         (ii) if the Software and fonts are supplied to any unit or agency
  137. of the United States Government other than DoD, the Government's rights in
  138. the Software, its documentation and fonts will be as defined in Clause
  139. 52.227-19(c)(2) of the FAR or, in the case of NASA, in Clause
  140. 18-52.227-86(d) of the NASA Supplement to the FAR.
  141.  
  142. Acknowledgements
  143.  
  144. This program was designed by Quinn & Craig Richmond to solve lab problems that they had (mainly fighting with RevRDist).  Jon Nielsen & Craig designed the icons.  Quinn designed the Assimilator window.  Mike Schon-Hegrad, Peter Cooper and the others provided valuable early beta testing and suggestions.  All I did was write the code :-)
  145.  
  146.